home *** CD-ROM | disk | FTP | other *** search
/ Champak 62 / Volume 62 - JOGO DISK .iso / Games / penguin_dinner.swf / scripts / __Packages / classes / ui / TextButton.as < prev    next >
Encoding:
Text File  |  2008-03-17  |  3.6 KB  |  136 lines

  1. class classes.ui.TextButton extends classes.ui.AbstractWidget
  2. {
  3.    var initAppearStyle;
  4.    var initAppearDelay;
  5.    var pulsing;
  6.    var labelField;
  7.    var locked;
  8.    var upStateColor = 0;
  9.    var overStateColor = 16777215;
  10.    var pulsingCount = 0;
  11.    static var CLICK = "click";
  12.    static var ROLL_OVER = "roll_over";
  13.    static var ROLL_OUT = "roll_out";
  14.    function TextButton()
  15.    {
  16.       super();
  17.       if(this.initAppearStyle != "none")
  18.       {
  19.          this._visible = false;
  20.          var _loc5_ = this._x;
  21.          var _loc4_ = this._y;
  22.          switch(this.initAppearStyle)
  23.          {
  24.             case "top":
  25.                this._y = -50;
  26.                break;
  27.             case "bottom":
  28.                this._y = 450;
  29.                break;
  30.             case "left":
  31.                this._x = -50;
  32.                break;
  33.             case "right":
  34.                this._x = 650;
  35.          }
  36.          var _loc3_ = com.potapenko.managers.Conv.create();
  37.          _loc3_.addPause(String(this.initAppearDelay));
  38.          _loc3_.put(this,"_visible",0,true);
  39.          _loc3_.anim(this,{_x:_loc5_,_y:_loc4_},{speed:5,to_end:true,scale:false,delta:null,duration:null,notSwap:true,frame_value:"1",easing:mx.transitions.easing.Elastic.easeOut});
  40.       }
  41.       if(this.pulsing)
  42.       {
  43.          this.startLocalLoop(this.update);
  44.       }
  45.    }
  46.    function update()
  47.    {
  48.       var _loc3_ = 1.4 + 0.4 * Math.sin(this.pulsingCount);
  49.       this.pulsingCount += 0.2;
  50.       var _loc2_ = new Array();
  51.       _loc2_ = _loc2_.concat([_loc3_,0,0,0,0]);
  52.       _loc2_ = _loc2_.concat([0,_loc3_,0,0,0]);
  53.       _loc2_ = _loc2_.concat([0,0,_loc3_,0,0]);
  54.       _loc2_ = _loc2_.concat([0,0,0,1,0]);
  55.       this.filters = [new flash.filters.ColorMatrixFilter(_loc2_)];
  56.    }
  57.    function lock()
  58.    {
  59.       this.labelField.textColor = this.upStateColor;
  60.       super.lock();
  61.    }
  62.    function set label($label)
  63.    {
  64.       this.labelField.text = $label;
  65.    }
  66.    function get label()
  67.    {
  68.       return this.labelField.text;
  69.    }
  70.    function set upColor($color)
  71.    {
  72.       this.upStateColor = $color;
  73.       this.labelField.textColor = this.upStateColor;
  74.    }
  75.    function set overColor($color)
  76.    {
  77.       this.overStateColor = $color;
  78.    }
  79.    function set align($align)
  80.    {
  81.       this.labelField.autoSize = $align;
  82.    }
  83.    function set appearStyle($appearStyle)
  84.    {
  85.       this.initAppearStyle = $appearStyle;
  86.    }
  87.    function set appearDelay($delay)
  88.    {
  89.       this.initAppearDelay = $delay;
  90.    }
  91.    function set isPulsing($pulsing)
  92.    {
  93.       this.pulsing = $pulsing;
  94.    }
  95.    function onRollOver()
  96.    {
  97.       if(this.locked)
  98.       {
  99.          return undefined;
  100.       }
  101.       this.labelField.textColor = this.overStateColor;
  102.       this.dispatchEvent(new classes.events.WidgetEvent(this,classes.ui.TextButton.ROLL_OVER));
  103.    }
  104.    function onRelease()
  105.    {
  106.       if(this.locked)
  107.       {
  108.          return undefined;
  109.       }
  110.       classes.core.SoundManager.getInstance().startSound("click_game_object");
  111.       this.deactivate();
  112.       this.dispatchEvent(new classes.events.WidgetEvent(this,classes.ui.TextButton.CLICK));
  113.    }
  114.    function onRollOut()
  115.    {
  116.       this.deactivate();
  117.    }
  118.    function onDragOut()
  119.    {
  120.       this.deactivate();
  121.    }
  122.    function onReleaseOutside()
  123.    {
  124.       this.deactivate();
  125.    }
  126.    function deactivate()
  127.    {
  128.       if(this.locked)
  129.       {
  130.          return undefined;
  131.       }
  132.       this.labelField.textColor = this.upStateColor;
  133.       this.dispatchEvent(new classes.events.WidgetEvent(this,classes.ui.TextButton.ROLL_OUT));
  134.    }
  135. }
  136.